1. Field of the Invention
The present invention relates to a method and the like for monitoring whether or not a program has been executed normally.
2. Description of the Prior Art
Conventionally, there are proposed methods for monitoring whether or not a program has been executed normally in a computer.
Japanese unexamined patent publication No. 63-250740 describes a method that uses an intermodule call table for storing a branch address, an upper limit address, a lower limit address, a module type and a hierarchical level that are set for each entry between a plurality of firmware modules, an execution type register for assigning a type number to each of the firmware modules and for keeping a type that is being executed, an execution level register for providing a hierarchical level that indicates a hierarchical structure of the firmware intermodule and for keeping a level that is being executed, upper limit and lower limit register portions for storing the upper limit address and the lower limit address respectively, and a detecting portion for detecting that the branch address of a branch command that has an address of the intermodule call table in the firmware module and can read out the module type and the hierarchical level is outside a range enclosed by the upper limit address and the lower limit address, and for detecting invalidity of the module type and the hierarchical level.
Japanese unexamined patent publication No. 4-332055 describes a method in which a unique program number is assigned to each of the programs that work in a linking manner in a computer system, a reference table 26 is provided for recording a start address and an area size of each program on the memory 25, a called side program reads out a return address from a stack 24, and a number of a calling side program and a number of the called side program are determined from the reference table 26 and are saved in the stack 24 before a primary process is executed. After the execution of the process has been finished, the number of the called side program is read out from the stack 24 and is compared with a number of its own program. Only if the numbers match each other and if an address range of the calling side program determined from the number of the calling side program and the reference table includes the return address, the operation can return to the calling side program.
Japanese unexamined patent publication No. 6-168163 describes a method in which a CPU 12 monitors a period of a lap time pulse LTP that is delivered from a loop start end of a program. When this pulse period is deviated from a normal range, a loop process sequence abnormal signal is produced so that run-away can be detected from the abnormal loop process period. In addition, the CPU 12 monitors a flag pulse FP that is produced every time when a step embedded in a key point in the program is executed. If an integrated value of the flag pulse FP does not match a normal value at the time point when a predetermined number of loops have been executed, a step process sequence abnormal signal is produced for a CPU monitor device 11 to monitor the CPU concerning its executing status of the program.
However, the conventional methods described above have problems as follows. According to the method described in Japanese unexamined patent publication No. 63-250740, it is necessary to manage information about a relationship between firmware modules resulting in a complicated mechanism.
According to the method described in Japanese unexamined patent publication No. 4-332055, it is possible to detect whether or not a program is running away at the time point when a link process of the program is performed. However, it is difficult to decide whether or not one program has been executed normally.
According to the method described in Japanese unexamined patent publication No. 6-168163, it is difficult to detect an abnormal unexecuted state of a code to be executed.